package com.xiaoquan.gulimall.product.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;

/**
 * @authro dxq
 * @date 2021年07月15日 15:30
 */
@Configuration  // 声明这是一个配置类
public class GulimallSessionConfig {

    // TODO 这个配置应该放在公共模块中的

    @Bean
    public CookieSerializer cookieSerializer(){ // cookie序列化
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        // 自定义规则
        cookieSerializer.setDomainName("39.103.133.67"); // 设置作用域
        cookieSerializer.setCookieName("QUANSESSION"); // 设置cookie的名字
        return cookieSerializer;
    }
    // 序列化机制
    @Bean
    public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
        // 给容器中放一个序列化器
        return new GenericJackson2JsonRedisSerializer();
    }

}
